﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ExplorerPlus.DomainObjects;

namespace ExplorerPlus.PersistenceLayer
{
    interface IPersistence
    {
        List<FlyWeightItem> GetFlyWeightCategories();

        List<FlyWeightItem> GetFlyWeightCategoryFields(int categoryId);

        List<FlyWeightItem> GetFlyWeightCategoryFieldItems(int categoryId, int fieldId);

        List<FlyWeightItem> GetFlyWeightItems(int categoryId, int fieldId, string fieldValue);

        Item GetItem(int categoryId, int itemId);

        Item GetItemByName(int categoryId, string itemName);

        bool SaveItem(Item item);

        Plugin GetCategoryPlugins(int categoryId);

        void DeleteItem(int categoryId, int itemId);
    }
}
